package middlewares

import (
	"github.com/gin-gonic/gin"
	"net/http"
)

// WhiteList 白名单
var whiteList = []string{""}

func IPWhitelistMiddleware() gin.HandlerFunc {
	return func(c *gin.Context) {
		remoteIP := c.ClientIP()
		for _, ip := range whiteList {
			if ip == remoteIP {
				c.Next() // 如果IP在白名单中，继续后续处理
				return
			}
		}
		c.AbortWithStatus(http.StatusForbidden) // 如果IP不在白名单中，返回403禁止访问
	}
}
